On Static Verification of Puppet System Configurations

نویسندگان

  • Joseph M. Collard
  • Nimish Gupta
  • Rian Shambaugh
  • Aaron Weiss
  • Arjun Guha
چکیده

Puppet is a configuration management system used by hundreds of organizations to manage thousands of machines. It is designed to automate tasks such as application configuration, service orchestration, VM provisioning, and more. The heart of Puppet is a declarative domain-specific language that specifies a collection of resources (packages, user accounts, files, etc.), their desired state (e.g., installed or not installed), and the dependencies between them. Although Puppet performs some static checking, there are many opportunities for errors to occur. Puppet configurations are often underconstrained (to allow them to be composed with each other) and underspecified (to allow them to be applied to a variety of machine states), which makes errors difficult to detect and debug. Even if a configuration is bug-free, when a machine is updated to a new configuration, it is easy for the machine state and its configuration to “drift” apart. In this paper, we identify determinism as the essential property that allows us to reason about configuration correctness and configuration updates. First, we present a sound, complete, and scalable algorithm to verify that configurations are deterministic. Our approach is to encode configurations as logical formulas in an SMT solver and apply partial order reduction and program slicing to achieve scalability. We apply our tool to real-world Puppet configurations gleaned from open-source projects that suffered determinacy bugs. Second, we consider the configuration update problem: a live update from version 1 to version 2 does not have the same effect as applying version 2 to a new machine. By treating configurations as functions—which we can do after we verify that they are deterministic—we build a simple program synthesis tool to calculate an update to version 1 that has the same effect that version 2 would have had on the original machine.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

muPuppet: A Declarative Subset of the Puppet Configuration Language

Puppet is a popular declarative framework for specifying and managing complex system configurations. The Puppet framework includes a domain-specific language with several advanced features inspired by object-oriented programming, including user-defined resource types, ‘classes’ with a form of inheritance, and dependency management. Like most real-world languages, the language has evolved in an ...

متن کامل

μPuppet: A Declarative Subset of the Puppet Configuration Language

Puppet is a popular declarative framework for specifying and managing complex system configurations. The Puppet framework includes a domain-specific language with several advanced features inspired by object-oriented programming, including user-defined resource types, ‘classes’ with a form of inheritance, and dependency management. Like most real-world languages, the language has evolved in an ...

متن کامل

PuPPET: A New Power-Performance Modeling Tool for High Performance Computing

As high performance computing (HPC) continues to grow in scale and complexity, energy becomes a critical constraint in the race to exascale computing. The days of “performance at all cost” are coming to an end. While performance is still a major objective, future HPC will have to deliver desired performance under the energy constraint. Among various power management methods, power capping is a ...

متن کامل

Evaluating the Validity of Quasi-Static Analysis for Prediction of Vessel Mooring Line Forces

Quasi-Static analysis of moored vessels is vastly used for engineering designs, as a substitute to the numerical simulation of dynamic mooring analysis. Yet, the level of validity of the results of quasi-static analysis is a matter of discussion. In the present study, the validation of the assumptions behind the quasi-static analysis of mooring vessels is examined with application of a dynamic ...

متن کامل

Experimental Study and CFD Modeling of the Ohmic Heating Process in a Static Two-Phase Biosolid – Liquid System

The effective parameters on Ohmic heating in static system containing biosolid-water were studied. The effects of distribution of particles, salinity and electric field strength on electrical conductivity,</e...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1509.05100  شماره 

صفحات  -

تاریخ انتشار 2015